# -*- coding: utf8 -*-
"""
@Time ： 2020/10/30 10:27
@Auth ： Mr. William 1052949192
@Company ：特斯汀学院 @testingedu.com.cn
@Function ：零散语法
"""

"""
r"" 的作用是去除转义字符。
即如果是“\n”那么表示一个反斜杠字符，一个字母n，而不是表示换行了。
以r开头的字符，常用文件路径。
"""
print("字符串以r''形式的作用：")
str1= 'input\n'
str= r'input\n'
print(str1)
print(str)

"""
以f开头表示在字符串内支持大括号内的python 表达式
"""
print("\n字符串以f''形式的作用：")
import time
t0 = time.time()
time.sleep(1)
name = 'processing'
print(f'{name} done in {time.time() - t0:.2f} s')

"""
b" "前缀表示：后面字符串是bytes类型。
"""
print("\n字符串以b''形式的作用：")
s1 = b'hello'
print(s1)
# 在 Python3 中，bytes 和 str 的互相转换方式是：
s2 = '你好'
b2 = s2.encode('utf8')
print(b2)
s3 = b2.decode('utf8')
print(s3)

"""
python2.x 中以Unicode表示的字符串用u'...'表示
但python3中统一了，字符串是以Unicode编码的
防止因为源码储存格式问题，导致再次使用时出现乱码。
"""
print("\n字符串以u''形式的作用：")
s1 = u'你好'
print(type(s1))
# 转成16进制unicode字符串
s2 = s1.encode('unicode_escape')
print(s2)
s3 = s2.decode('unicode_escape')
print(s3)